#include<bits/stdc++.h>
using namespace std;
long long t,n,m,l,v,cnt,e;
int p[100005],c[100005];

struct S{
    int d,v1,a;
    double s;
}f[100005];
int main(){
    freopen("detect.in","r",stdin);
    freopen("detect.out","w",stdout);
    cin>>t;
    for(int i=0;i<t;i++){
        cnt=0;
        for(int j=1;j<=m;j++) c[i]=0;
        cin>>n>>m>>l>>v;
        for(int j=1;j<=n;j++) {
            cin>>f[j].d>>f[j].v1>>f[j].a;
        }
        for(int j=1;j<=m;j++) cin>>p[j];
        sort(p+1,p+m+1);
        for(int j=1;j<=n;j++){
            if(f[j].a==0){
                if(f[j].v1>v){
                    if(f[j].d<=p[m]) cnt++;
                }
            }
        }
        cout<<cnt<<" "<<"1";
        cout<<endl;
    }
    return 0;
}
